﻿#region Using Statements

#endregion

namespace DirectZZT.Shared.World.Objects
{
    /// <summary>
    /// Defines a means for <see cref="BoardObject"/>s that represent living creatures.
    /// </summary>
    public interface ICreatureBoardObject
    {
        /// <summary>
        /// Gets/sets the health of this creature.
        /// </summary>
        int Health { get; set; }
        /// <summary>
        /// Gets/sets the armor of this creature.
        /// </summary>
        int Armor { get; set; }

        /// <summary>
        /// Inflicts the given amount of damage on this creature.
        /// The actual damage taken away from Health and Armor are being calculated by the creature.
        /// </summary>
        /// <param name="value">The amount of damage to inflict.</param>
        void InflictDamage(int value);
    }
}
